Usuários
O escopo de dados de usuário pode ser acessado pelo objeto user em payloads Javascript.
Alteração/inserção de dados de usuário
Os dados de usuário podem ser alterados usando o método setUser em payloads Javascript.
A função recebe como parâmetros o nome do dado a ser alterado e o valor do mesmo.
/*
Primeiro Parâmetro: Campo a ser alterado
Segundo Parâmetro: Valor do Campo
*/
setUser("nickname", "Fintalk Demo User");
Também é possível configurar valores sem o uso da função setUser:
user.nickname = "Fintalk Demo User";
getPhone
Recupera o número de telefone do WhatsApp do usuário.
Retorna o telefone no formato +55DDDNUMERO se o usuário estiver utilizando o WhatsApp ou false caso não.
let phone = getPhone();
if (phone) {
//Número OK!
} else {
//Não está utilizando o WhatsApp
}
Recuperação de dados de usuário
Os dados de usuário estão acessíveis no objeto user:
const nickname = user.nickname;
Também podem ser acessados em um Simple Text Response:
Olá, `${user.nickname}`;
Campos do objeto de Usuário
| Campo | Tipo | Exemplo | O que é |
|---|---|---|---|
| id | ObjectID | - | ID único do usuário |
| name | String | Fintalk Doc Sample | Nome completo |
| nickname | String | Fintalk | Apelido do usuário |
| String | [email protected] | ||
| cpf | String | 02356672220 | CPF |
| phoneNumber | String | +551198555555 | Número de Telefone |
| birthDate | Date | new Date(data) | Data de Nascimento |
| address | Object | Endereço | Endereço |
| gender | Number | 0 - F / 1 - M | Sexo |
| appClient | String | "Telegram" | Meio de contato atual |
| optin | Boolean | true/false | Opt-in |
| queryInput | String | Olá, Quero testar! | Mensagem enviada |
| cooldown | Date | new Date().setMinutes((var).getMinutes()+1) | Tempo para "ignorar" |
| isAudioOutputEnabled | Boolean | true | Envia todas mensagens por TTS |
O campo id NÃO deve ser manipulado
Endereço
O objeto address conta com múltiplos campos para facilitar seu uso:
| Campo | Tipo | Exemplo | O que é |
|---|---|---|---|
| street | String | Avenida das Nações Unidas | Rua/Avenida |
| number | String | 80 - AP 102 | Número e Complemento |
| neighborhood | String | Brooklin | Bairro |
| city | String | São Paulo | Cidade |
| state | String | SP | Estado |
| country | String | Brasil | País |
| zipCode | String | 04581040 | CEP |
| location.lat | Number | -40.5727 | Latitude |
| location.long | Number | -40.5727 | Longitude |
Os dados de usuário estão acessíveis no objeto user.address:
const street = user.address.street;
Também podem ser acessados em um Simple Text Response:
Vi que sua rua é `${user.address.street}`;
Para configurar os valores é possível usar a função setUser() ou simplesmente usar a sintaxe padrão do JavaScript:
/*
Primeiro Parâmetro: Campo a ser alterado
Segundo Parâmetro: Valor do Campo
*/
setUser("address.street", "Avenida das Nações Unidas");
user.address.street = "Avenida das Nações Unidas";
Para facilitar o uso e garantir dados consistentes, utilize as funções de validação (getCities, isValidCEP ou faça o parse da localização enviada pelo usuário)